﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FrameworkManapro.BusinessModel;

namespace GMAC.ReportingSystem.Business.Entities
{
    //-------------------------------------------------
    /// <summary>
    /// Ricardo Recaredo (08/04/2011)
    /// 
    /// Account Debit Balance Class
    /// </summary>
    //-------------------------------------------------

    [DbProcedures(Insert = "procAccountDebitBalanceInsert", Update = "procAccountDebitBalanceUpdate", Delete = "procAccountDebitBalanceDelete")]
    
    public class AccountDebitBalance : BusinessEntity
    {
        [EntityPrimaryKey]
        [TableColumn]
        [DbParameter(1, 1, 1)]
        public string AccountNumber { get; set; }

        [DbParameter(2, 2, 0)]
        public GeneralEnumTypes.TypeAccountsWithDebitBalances AccountType { get; set; }

        [DbParameter(3, 3, 0)]
        public Product AccountTypeID { get; set; }

        [DbParameter(4, 4, 0)]
        public string DebitBankNumber { get; set; }

        [DbParameter(5, 5, 0)]
        public InsuranceCompany InsuranceCompany { get; set; }

        [DbParameter(6, 6, 0)]
        public decimal PendingAmount { get; set; }

        [DbParameter(7, 7, 0)]
        public GeneralEnumTypes.PaymentType PaymentType { get; set; }

        [DbParameter(8, 8, 0)]
        public DateTime IssueDate { get; set; }
        
        [DbParameter(9, 9, 0)]
        public GeneralEnumTypes.StatusLAORetail StatusLAORetail { get; set; }

        [DbParameter(10, 10, 0)]
        public GeneralEnumTypes.InternalStatus StatusSalvageTransferReason { get; set; }

        public int EmissionDays { get; set; }
        public GeneralEnumTypes.EmissionTime IssueTime { get; set; }
        public DateTime ProjectionDate { get; set; } 
    }

    //--------------------------------

    public class AccountDebitBalanceCollection : BusinessEntityCollection<AccountDebitBalance> 
    {
    }
}
